-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Share common fabric-scoped table-like storage from SceneTableImpl #38073
base: master
Are you sure you want to change the base?
Conversation
…to a templatized class, chip::common::FabricTableImpl, to allow re-use in other clusters (specifically, TlsClientManagementServer)
4ba315a
to
9934b77
Compare
PR #38073: Size comparison from 09dd3ac to c18aec4 Full report (3 builds for nrfconnect)
|
5436ca2
to
ff085b5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Stopped at beginning of impl changes; it looks like this is changing the SceneTable interface when it meant to change the SceneTableImpl interface implementation.....
}; | ||
template <class EFStype> | ||
class SceneTable | ||
: public virtual app::common::FabricTable<scene_table_elements::SceneStorageId, scene_table_elements::SceneData<EFStype>> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need virtual inheritance here?
virtual CHIP_ERROR GetSceneTableEntry(FabricIndex fabric_index, SceneStorageId scene_id, SceneTableEntry & entry) = 0; | ||
virtual CHIP_ERROR RemoveSceneTableEntry(FabricIndex fabric_index, SceneStorageId scene_id) = 0; | ||
virtual CHIP_ERROR RemoveSceneTableEntryAtPosition(EndpointId endpoint, FabricIndex fabric_index, SceneIndex scene_idx) = 0; | ||
inline CHIP_ERROR SetSceneTableEntry(FabricIndex fabric_index, const SceneTableEntry & entry) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So this is changing from an abstract interface (with SceneTableImpl as a possible, but not only, implementation) to a concrete implementation, right? Was this discussed with @lpbeliveau-silabs ?
kSceneCount, | ||
kStorageIDArray, | ||
kGroupID, | ||
kGroupID = 4, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems to be assuming something about something. Where is this 4 coming from?
Move functionality to a templatized class,
chip::common::FabricTableImpl
, to allow re-use in other clusters (specifically,TlsClientManagementServer
)Testing
Tested in CI